﻿using AbpApplication.InPut;
using AbpToDomain.EntityInfo;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp.Application.Services;

namespace AbpApplication.AppServices
{
   public interface IBaseService:IApplicationService
    {
        Task<ApiResponse> Create_Boxs(InPut_BaseService input);
        Task<ApiResponse> Update_Box(InPut_BaseService2 input);
        Task<ApiResponse> Create_Warehouses(InPut_BaseService3 input);
        Task<ApiResponse> Create_Inlethouses(InPut_BaseService9 input);
        Task<ApiResponse> Create_Inlethouse(InPut_BaseService9 input);
        Task<ApiResponsePage> GetList_WarehouseLine(InPut_BaseService4 inPut);
        Task<ApiResponse> Update_WarehouseLines(InPut_BaseService5 inPut);
        Task<ApiResponsePage> GetList_Boxs(InPut_BaseService6 inPut);
        Task<ApiResponse> CreateMaterialBase(InPut_BaseService7 inPut);
        Task<ApiResponse> CreateNeetOutMaterial(InPut_BaseService10 InPut);
        Task<ApiResponse> DeleteMaterial(InPut_BaseService8 InPut);
        Task<ApiResponse> GetDeleteMaterial(InPut_BaseService8 InPut);
        Task<ApiResponse> GetList_InlethouesCode( string Type);
        Task<ApiResponse> UpdateTaskOrderState(InPut_BaseService11 InPut);
        Task<ApiResponse> CreateTaskOrder(InPut_BaseService12 InPut);
        Task<ApiResponse> CreateTaskOrderOut(InPut_BaseService13 InPut);
        Task<ApiResponse> DeleteTaskOrder(List<string> TaskOrderCodes);
        Task<ApiResponse> MergeBox(InPut_BaseService14 InPut);
        Task<ApiResponse> CreateLog(InPut_BaseService15 InPut);
        Task<ApiResponse> UpdateNeetQuantity(InPut_BaseService16 InPut);
        Task<ApiResponse> GetNeetBoxMaterial(string BoxCode);
        Task<ApiResponse> GetWarehousequantity();
        Task<ApiResponse> Revoke_MaterialBase(string LPN);
        Task<ApiResponse> GetListCusetom(InPut_BaseService17 InPut);
        Task<ApiResponse> GetListCusetomLine(Guid CusetomOrder_Id);
        Task<ApiResponse> CreateTaskNeetOut(InPut_BaseService20 InPut);
        Task<ApiResponse> CreateTaskManyNeetOut(InPut_BaseService20 InPut);
        Task<ApiResponse> CreateTaskManyNeetOutNew(InPut_BaseService21 InPut);
        Task<ApiResponse> ReMoveTaskNeetOut(Guid CusetomOrder_Id);
        Task<ApiResponse> DeleteNeetMaterial(string MaterialCode);
        Task<ApiResponse> UpdateMaterialQuantity(InPut_BaseService19 InPut);
        Task<ApiResponse> CheckNeetTask();
        Task<ApiResponse> DeleteWaste();
        Task<ApiResponse> DeleteOrder(List<Guid> CusetomOrder_IdS);
        Task<ApiResponse> test(request request);
        Task<ApiResponse> Create_SowingWall(InPut_BaseService22 InPut);
        Task<ApiResponse> Create_TaskOrder_Pda(InPut_BaseService23 InPut);
        Task<ApiResponse> Send_TaskOrder_Pda();
        Task<ApiResponse> Update_SowingWallLine_Pda(string BoxCode);
    }

    public class request
    {
        public string PutOutOrder { get;set; }
        public List<datamodel> datamodels { get; set; }=new List<datamodel>();
    }

    public class datamodel
    {
        public string Sku { get; set; }
        public int Qty { get; set; }

    }


}
